package com.zut.service;

import com.github.pagehelper.PageInfo;
import com.zut.domain.Coach;
import org.springframework.transaction.annotation.Transactional;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Transactional
public interface CoachService {
    /**
     * 查询全部
     *
     * @return
     */
    List<Map<String,String>> getAll();

    /**
     * 分页查询全部
     *
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<Map<String,String>> getAll(Integer pageNum, Integer pageSize);

    /**
     * 按id查询
     *
     * @param coach
     * @return
     */
    Coach getByNP(Coach coach);

    /**
     * 根据id查询教练+成绩
     * @param id
     * @return
     */
    Map<String,String> getById(String id);


    /**
     * 保存
     *
     * @param coach
     * @return
     */
    boolean save(Coach coach);

    /**
     * 根据id查询教练
     *
     * @param id
     * @return
     */
    Coach selectById(String id);

    /**
     * 根据id删除
     *
     * @param id
     * @return
     */
    boolean deleteById(String id);

    /**
     * 修改信息
     *
     * @param coach
     * @return
     */
    boolean update(Coach coach);

    /**
     * 获取教练训练场地
     *
     * @param id
     * @return
     */
    String getPlace(String id);

    /**
     * 获取教练密码
     *
     * @param id
     * @return
     */
    String getPassword(String id);

    /**
     * 获取教练平均评价分数
     * @param id
     * @return
     */
    Map<String,String> getAvgGradeById(String id);

    /**
     * 返回优秀教练信息
     *
     * @return
     */
    List<Coach> getBestCoach();

    /**
     * 修改密码
     *
     *
     * @param map@return
     */
    boolean updatePassword(HashMap<String,String> map);
}
